class RapportoGiornalieroLavoro < ActiveRecord::Base
  acts_as_paranoid unless SHOW_DELETED
  has_and_belongs_to_many :lavorazioni, :join_table => 'rapporto_giornaliero_lavori_lavorazioni', :uniq => true, :class_name => 'Lavorazione'
  has_and_belongs_to_many :personale, :join_table => 'rapporto_giornaliero_lavori_personale', :uniq => true, :class_name => 'Personale'
  belongs_to :rapporto_giornaliero
  belongs_to :partner
  belongs_to :centro_costo
  validates_presence_of :rapporto_giornaliero, :partner, :centro_costo

  def name
    if !partner.nil?
      "#{partner.ragione_sociale}"
    end
  end

  def numero_persone
    personale.count
  end

  def calcolo_ore_totali
    if ore_totali.nil?
      if ore_impiegate and numero_persone
        ore = ore_impiegate * numero_persone
      end
    else
      ore = ore_totali
    end
    return ore
  end
end
